using System;
using System.Collections.Generic;
using System.Text;

namespace Deepcode.Flux.Core.Systems.Audit
{
	/// <summary>
	/// Describes a type of event as a system event, something 
	/// in an application, or a security item
	/// </summary>
	public enum EventType
	{
		/// <summary>
		/// A System Event is something that happens at system level. Generally
		/// only Flux.NET Core will raise these types of event during hands-off
		/// execution - eg: A scheduled task failing would be a system level event.
		/// </summary>
		System = 1,
		/// <summary>
		/// A Security Event is something that infringes on a security model. For
		/// example, an Information level Security Event would probably be someone
		/// logging in or out of the system. A Critical Security Event would perhaps be
		/// someone attempting to access something they do not have priviledges to do.
		/// </summary>
		Security,
		/// <summary>
		/// An application event are the most common event type. Custom modules or
		/// applications not part of the core raise these event types when the event is
		/// not in relation to a security action.
		/// </summary>
		Application
	}
}
